var Switches = {
  "switches": {
    "activate-on-launch": {
      "name": "activate-on-launch",
      "comment": "Activate (make foreground) myself on launch.  Helpful when Chrome is launched on the command line (e.g. by Selenium).  Only needed on Mac.",
      "condition": ""
    },
    "allow-file-access": {
      "name": "allow-file-access",
      "comment": "On ChromeOS, file:\/\/ access is disabled except for certain whitelisted directories. This switch re-enables file:\/\/ for testing.",
      "condition": ""
    },
    "allow-outdated-plugins": {
      "name": "allow-outdated-plugins",
      "comment": "Don't block outdated plugins.",
      "condition": ""
    },
    "allow-scripting-gallery": {
      "name": "allow-scripting-gallery",
      "comment": "Allows injecting extensions and user scripts on the extensions gallery site. Normally prevented for security reasons, but can be useful for automation testing of the gallery.",
      "condition": ""
    },
    "allow-ssl-mitm-proxies": {
      "name": "allow-ssl-mitm-proxies",
      "comment": "Disable checking of the renegotiation extension and any future checks over and above what a \"traditional\" SSL stack might do. This has been requested in order to support some web development tools that intercept SSL connections.",
      "condition": ""
    },
    "always-authorize-plugins": {
      "name": "always-authorize-plugins",
      "comment": "This prevents Chrome from requiring authorization to run certain widely installed but less commonly used plug-ins.",
      "condition": ""
    },
    "always-enable-dev-tools": {
      "name": "always-enable-dev-tools",
      "comment": "Enable web inspector for all windows, even if they're part of the browser. Allows us to use our dev tools to debug browser windows itself.",
      "condition": ""
    },
    "app": {
      "name": "app",
      "comment": "Specifies that the associated value should be launched in \"application\" mode.",
      "condition": ""
    },
    "app-id": {
      "name": "app-id",
      "comment": "Specifies that the extension-app with the specified id should be launched according to its configuration.",
      "condition": ""
    },
    "apps-gallery-return-tokens": {
      "name": "apps-gallery-return-tokens",
      "comment": "Specifying this flag allows the webstorePrivate APIs to return browser (aka sync) login tokens to be used for auto-login in the Web Store (normally they do not).",
      "condition": ""
    },
    "apps-gallery-update-url": {
      "name": "apps-gallery-update-url",
      "comment": "The update url used by gallery\/webstore extensions.",
      "condition": ""
    },
    "apps-gallery-url": {
      "name": "apps-gallery-url",
      "comment": "The URL to use for the gallery link in the app launcher.",
      "condition": ""
    },
    "apps-no-throb": {
      "name": "apps-no-throb",
      "comment": "Disable throbber for extension apps.",
      "condition": ""
    },
    "assert-test": {
      "name": "assert-test",
      "comment": "Causes the browser process to throw an assertion on startup.",
      "condition": ""
    },
    "auth-negotiate-delegate-whitelist": {
      "name": "auth-negotiate-delegate-whitelist",
      "comment": "Whitelist of servers that Negotiate will generate delegated Kerberos tickets for.",
      "condition": ""
    },
    "auth-schemes": {
      "name": "auth-schemes",
      "comment": "HTTP authentication schemes to enable. This is a comma separated list of authentication schemes (basic, digest, ntlm, and negotiate). By default all schemes are enabled. The primary use of this command line flag is to help triage autentication-related issues reported by end-users.",
      "condition": ""
    },
    "auth-server-whitelist": {
      "name": "auth-server-whitelist",
      "comment": "Whitelist of servers which NTLM and Negotiate can automatically authenticate with using the default credentials of the currently logged in user.",
      "condition": ""
    },
    "auto": {
      "name": "auto",
      "comment": "These are the values the switch may have, as in \"--prerender=auto\". auto: Allow field trial selection in both prerender and prefetch.",
      "condition": ""
    },
    "automation-channel": {
      "name": "automation-channel",
      "comment": "The value of this switch tells the app to listen for and broadcast automation-related messages on IPC channel with the given ID.",
      "condition": ""
    },
    "block-reading-third-party-cookies": {
      "name": "block-reading-third-party-cookies",
      "comment": "When the option to block third-party cookies from being set is enabled, also block third-party cookies from being read.",
      "condition": ""
    },
    "bwsi": {
      "name": "bwsi",
      "comment": "Indicates that the browser is in \"browse without sign-in\" (Guest session) mode. Should completely disable extensions, sync and bookmarks.",
      "condition": 1
    },
    "check-for-update-interval": {
      "name": "check-for-update-interval",
      "comment": "How often (in seconds) to check for updates. Should only be used for testing purposes.",
      "condition": ""
    },
    "chrome-frame": {
      "name": "chrome-frame",
      "comment": "Run Chrome in Chrome Frame mode. This means that Chrome expects to be run as a dependent process of the Chrome Frame plugin.",
      "condition": ""
    },
    "chrome-version": {
      "name": "chrome-version",
      "comment": "Tells chrome to load the specified version of chrome.dll on Windows. If this version cannot be loaded, Chrome will exit.",
      "condition": ""
    },
    "chromeos-frame": {
      "name": "chromeos-frame",
      "comment": "Use the frame layout used in chromeos.",
      "condition": 1
    },
    "clear-token-service": {
      "name": "clear-token-service",
      "comment": "Clear the token service before using it.  This allows simulating the expiration of credentials during testing.",
      "condition": 2
    },
    "cloud-print-file": {
      "name": "cloud-print-file",
      "comment": "Tells chrome to display the cloud print dialog and upload the specified file for printing.",
      "condition": ""
    },
    "cloud-print-job-title": {
      "name": "cloud-print-job-title",
      "comment": "Used with kCloudPrintFile to specify a title for the resulting print job.",
      "condition": ""
    },
    "cloud-print-proxy-id": {
      "name": "cloud-print-proxy-id",
      "comment": "The unique id to be used for this cloud print proxy instance.",
      "condition": ""
    },
    "cloud-print-service": {
      "name": "cloud-print-service",
      "comment": "The URL of the cloud print service to use, overrides any value stored in preferences, and the default.  Only used if the cloud print service has been enabled (see enable-cloud-print).",
      "condition": ""
    },
    "compress-sys-feedback": {
      "name": "compress-sys-feedback",
      "comment": "Flag to trigger ChromeOS system log compression during feedback submit.",
      "condition": 1
    },
    "conflicting-modules-check": {
      "name": "conflicting-modules-check",
      "comment": "Causes the browser process to inspect loaded and registered DLLs for known conflicts and warn the user.",
      "condition": ""
    },
    "country": {
      "name": "country",
      "comment": "The Country we should use.  This is normally obtained from the operating system during first run and cached in the preferences afterwards.  This is a string value, the 2 letter code from ISO 3166-1.",
      "condition": ""
    },
    "crash-test": {
      "name": "crash-test",
      "comment": "Causes the browser process to crash on startup.",
      "condition": ""
    },
    "debug-print": {
      "name": "debug-print",
      "comment": "Enables support to debug printing subsystem.",
      "condition": ""
    },
    "debug-views-paint": {
      "name": "debug-views-paint",
      "comment": "Enables debug paint in views framework. Enabling this causes the damaged region being painted to flash in red.",
      "condition": 3
    },
    "device-management-url": {
      "name": "device-management-url",
      "comment": "Specifies the URL at which to fetch configuration policy from the device management backend. Specifying this switch turns on managed policy from the device management backend.",
      "condition": ""
    },
    "device-policy-cache-dir": {
      "name": "device-policy-cache-dir",
      "comment": "Specifies the directory in which to store the shared device policy cache file. If not specified, device policy will be disabled.",
      "condition": ""
    },
    "diagnostics": {
      "name": "diagnostics",
      "comment": "Triggers a pletora of diagnostic modes.",
      "condition": ""
    },
    "disable-accelerated-compositing": {
      "name": "disable-accelerated-compositing",
      "comment": "Disables accelerated compositing.",
      "condition": ""
    },
    "disable-accelerated-layers": {
      "name": "disable-accelerated-layers",
      "comment": "Disables the hardware acceleration of 3D CSS and animation.",
      "condition": ""
    },
    "disable-accelerated-video": {
      "name": "disable-accelerated-video",
      "comment": "Disables GPU accelerated video display.",
      "condition": ""
    },
    "disable-audio": {
      "name": "disable-audio",
      "comment": "Replaces the audio IPC layer for &lt;audio&gt; and &lt;video&gt; with a mock audio device, useful when using remote desktop or machines without sound cards. This is temporary until we fix the underlying problem.  TODO(scherkus): remove --disable-audio when we have a proper fallback mechanism.",
      "condition": ""
    },
    "disable-auth-negotiate-cname-lookup": {
      "name": "disable-auth-negotiate-cname-lookup",
      "comment": "Disable CNAME lookup of the host when generating the Kerberos SPN for a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.",
      "condition": ""
    },
    "disable-background-mode": {
      "name": "disable-background-mode",
      "comment": "Disable background mode (background apps will not keep chrome running in the background).",
      "condition": ""
    },
    "disable-background-networking": {
      "name": "disable-background-networking",
      "comment": "Disable several subsystems which run network requests in the background. This is for use when doing network performance testing to avoid noise in the measurements.",
      "condition": ""
    },
    "disable-blocked-content-animation": {
      "name": "disable-blocked-content-animation",
      "comment": "Disables blocked content warning animation. Currently shows animation for blocked pop-ups only.",
      "condition": ""
    },
    "disable-confirm-to-quit": {
      "name": "disable-confirm-to-quit",
      "comment": "Disable the Confirm to Quit experiment (Mac only).",
      "condition": ""
    },
    "disable-connect-backup-jobs": {
      "name": "disable-connect-backup-jobs",
      "comment": "Disables establishing a backup TCP connection if a specified timeout is exceeded.",
      "condition": ""
    },
    "disable-custom-jumplist": {
      "name": "disable-custom-jumplist",
      "comment": "Disables the custom JumpList on Windows 7.",
      "condition": ""
    },
    "disable-dev-tools": {
      "name": "disable-dev-tools",
      "comment": "Browser flag to disable the web inspector for all renderers.",
      "condition": ""
    },
    "disable-device-orientation": {
      "name": "disable-device-orientation",
      "comment": "Disables device orientation events.",
      "condition": ""
    },
    "disable-enforced-throttling": {
      "name": "disable-enforced-throttling",
      "comment": "By default, if the URL request throttler finds that a server is overloaded or encounters an error, it rejects requests to the server for a period of time, which is determined by an exponential back-off algorithm. This switch disables such behavior.",
      "condition": ""
    },
    "disable-extensions": {
      "name": "disable-extensions",
      "comment": "Disable extensions.",
      "condition": ""
    },
    "disable-extensions-file-access-check": {
      "name": "disable-extensions-file-access-check",
      "comment": "Disable checking for user opt-in for extensions that want to inject script into file URLs (ie, always allow it). This is used during automated testing.",
      "condition": ""
    },
    "disable-flash-sandbox": {
      "name": "disable-flash-sandbox",
      "comment": "Disables the sandbox for the built-in flash player.",
      "condition": ""
    },
    "disable-geolocation": {
      "name": "disable-geolocation",
      "comment": "Suppresses support for the Geolocation javascript API.",
      "condition": ""
    },
    "disable-gl-multisampling": {
      "name": "disable-gl-multisampling",
      "comment": "Disable GL multisampling.",
      "condition": ""
    },
    "disable-glsl-translator": {
      "name": "disable-glsl-translator",
      "comment": "Disable the GLSL translator.",
      "condition": ""
    },
    "disable-hang-monitor": {
      "name": "disable-hang-monitor",
      "comment": "Suppresses hang monitor dialogs in renderer processes.  This may allow slow unload handlers on a page to prevent the tab from closing, but the Task Manager can be used to terminate the offending process in this case.",
      "condition": ""
    },
    "disable-history-quick-provider": {
      "name": "disable-history-quick-provider",
      "comment": "Disable the use of the HistoryQuickProvider for autocomplete results.",
      "condition": ""
    },
    "disable-history-url-provider": {
      "name": "disable-history-url-provider",
      "comment": "Disable the use of the HistoryURLProvider for autocomplete results.",
      "condition": ""
    },
    "disable-indexed-database": {
      "name": "disable-indexed-database",
      "comment": "Disable the Indexed Database API.",
      "condition": ""
    },
    "disable-interactive-form-validation": {
      "name": "disable-interactive-form-validation",
      "comment": "Disables HTML5 Forms interactive validation.",
      "condition": ""
    },
    "disable-internal-flash": {
      "name": "disable-internal-flash",
      "comment": "Disable the internal Flash Player.",
      "condition": ""
    },
    "disable-ipv6": {
      "name": "disable-ipv6",
      "comment": "Don't resolve hostnames to IPv6 addresses. This can be used when debugging issues relating to IPv6, but shouldn't otherwise be needed. Be sure to file bugs if something isn't working properly in the presence of IPv6. This flag can be overidden by the \"enable-ipv6\" flag.",
      "condition": ""
    },
    "disable-java": {
      "name": "disable-java",
      "comment": "Prevent Java from running.",
      "condition": ""
    },
    "disable-javascript": {
      "name": "disable-javascript",
      "comment": "Don't execute JavaScript (browser JS like the new tab page still runs).",
      "condition": ""
    },
    "disable-javascript-i18n-api": {
      "name": "disable-javascript-i18n-api",
      "comment": "Disable JavaScript I18N API.",
      "condition": ""
    },
    "disable-local-storage": {
      "name": "disable-local-storage",
      "comment": "Disable LocalStorage.",
      "condition": ""
    },
    "disable-new-tab-first-run": {
      "name": "disable-new-tab-first-run",
      "comment": "Whether we should prevent the new tab page from showing the first run notification.",
      "condition": ""
    },
    "disable-preconnect": {
      "name": "disable-preconnect",
      "comment": "Disable speculative TCP\/IP preconnection.",
      "condition": ""
    },
    "disable-prompt-on-repost": {
      "name": "disable-prompt-on-repost",
      "comment": "Normally when the user attempts to navigate to a page that was the result of a post we prompt to make sure they want to. This switch may be used to disable that check. This switch is used during automated testing.",
      "condition": ""
    },
    "disable-remote-fonts": {
      "name": "disable-remote-fonts",
      "comment": "Disable remote web font support. SVG font should always work whether this option is specified or not.",
      "condition": ""
    },
    "disable-renderer-accessibility": {
      "name": "disable-renderer-accessibility",
      "comment": "Turns off the accessibility in the renderer.",
      "condition": ""
    },
    "disable-restore-background-contents": {
      "name": "disable-restore-background-contents",
      "comment": "Prevents the URLs of BackgroundContents from being remembered and re-launched when the browser restarts.",
      "condition": ""
    },
    "disable-session-storage": {
      "name": "disable-session-storage",
      "comment": "Disable session storage.",
      "condition": ""
    },
    "disable-shared-workers": {
      "name": "disable-shared-workers",
      "comment": "Enable shared workers. Functionality not yet complete.",
      "condition": ""
    },
    "disable-site-specific-quirks": {
      "name": "disable-site-specific-quirks",
      "comment": "Disable site-specific tailoring to compatibility issues in WebKit.",
      "condition": ""
    },
    "disable-speech-input": {
      "name": "disable-speech-input",
      "comment": "Disables speech input.",
      "condition": ""
    },
    "disable-ssl-false-start": {
      "name": "disable-ssl-false-start",
      "comment": "Disable False Start in SSL and TLS connections.",
      "condition": ""
    },
    "disable-sync": {
      "name": "disable-sync",
      "comment": "Disable syncing browser data to a Google Account.",
      "condition": ""
    },
    "disable-sync-apps": {
      "name": "disable-sync-apps",
      "comment": "Disable syncing of apps.",
      "condition": ""
    },
    "disable-sync-autofill": {
      "name": "disable-sync-autofill",
      "comment": "Disable syncing of autofill.",
      "condition": ""
    },
    "disable-sync-autofill-profile": {
      "name": "disable-sync-autofill-profile",
      "comment": "Disable syncing of autofill Profile.",
      "condition": ""
    },
    "disable-sync-bookmarks": {
      "name": "disable-sync-bookmarks",
      "comment": "Disable syncing of bookmarks.",
      "condition": ""
    },
    "disable-sync-extensions": {
      "name": "disable-sync-extensions",
      "comment": "Disable syncing of extensions.",
      "condition": ""
    },
    "disable-sync-passwords": {
      "name": "disable-sync-passwords",
      "comment": "Disable syncing browser passwords.",
      "condition": 4
    },
    "disable-sync-preferences": {
      "name": "disable-sync-preferences",
      "comment": "Disable syncing of preferences.",
      "condition": ""
    },
    "disable-sync-themes": {
      "name": "disable-sync-themes",
      "comment": "Disable syncing of themes.",
      "condition": ""
    },
    "disable-tab-closeable-state-watcher": {
      "name": "disable-tab-closeable-state-watcher",
      "comment": "TabCloseableStateWatcher disallows closing of tabs and browsers under certain situations on ChromeOS.  Some tests expect tabs or browsers to close, so we need a switch to disable the watcher.",
      "condition": ""
    },
    "disable-translate": {
      "name": "disable-translate",
      "comment": "Allow disabling of translate from the command line to assist with automated browser testing (e.g. Selenium\/WebDriver).  Normal browser users should disable translate with the preference.",
      "condition": ""
    },
    "disable-web-resources": {
      "name": "disable-web-resources",
      "comment": "Enables the backend service for web resources, used in the new tab page for loading tips and recommendations from a JSON feed.",
      "condition": ""
    },
    "disable-web-security": {
      "name": "disable-web-security",
      "comment": "Don't enforce the same-origin policy.  (Used by people testing their sites.)",
      "condition": ""
    },
    "disable-winsta": {
      "name": "disable-winsta",
      "comment": "Disables the alternate window station for the renderer.",
      "condition": ""
    },
    "disable-xss-auditor": {
      "name": "disable-xss-auditor",
      "comment": "Disable WebKit's XSSAuditor.  The XSSAuditor mitigates reflective XSS.",
      "condition": ""
    },
    "disabled": {
      "name": "disabled",
      "comment": "disabled: No prerendering or prefetching.",
      "condition": ""
    },
    "disk-cache-dir": {
      "name": "disk-cache-dir",
      "comment": "Use a specific disk cache location, rather than one derived from the UserDatadir.",
      "condition": ""
    },
    "disk-cache-size": {
      "name": "disk-cache-size",
      "comment": "Forces the maximum disk space to be used by the disk cache, in bytes.",
      "condition": ""
    },
    "dns-log-details": {
      "name": "dns-log-details",
      "comment": "",
      "condition": ""
    },
    "dns-prefetch-disable": {
      "name": "dns-prefetch-disable",
      "comment": "Disables prefetching of DNS information.",
      "condition": ""
    },
    "dns-server": {
      "name": "dns-server",
      "comment": "Use the specified DNS server for raw DNS resolution.",
      "condition": ""
    },
    "dom-automation": {
      "name": "dom-automation",
      "comment": "Specifies if the dom_automation_controller_ needs to be bound in the renderer. This binding happens on per-frame basis and hence can potentially be a performance bottleneck. One should only enable it when automating dom based tests.",
      "condition": ""
    },
    "dump-histograms-on-exit": {
      "name": "dump-histograms-on-exit",
      "comment": "Dump any accumualted histograms to the log when browser terminates (requires logging to be enabled to really do anything).  Used by developers and test scripts.",
      "condition": ""
    },
    "enable-accelerated-2d-canvas": {
      "name": "enable-accelerated-2d-canvas",
      "comment": "Enable gpu-accelerated 2d canvas.",
      "condition": ""
    },
    "enable-accelerated-plugins": {
      "name": "enable-accelerated-plugins",
      "comment": "Enables the hardware acceleration of plugins.",
      "condition": ""
    },
    "enable-accessibility": {
      "name": "enable-accessibility",
      "comment": "Enables WebKit accessibility within the renderer process.",
      "condition": ""
    },
    "enable-advanced-fs": {
      "name": "enable-advanced-fs",
      "comment": "Enables Advanced File System.",
      "condition": 1
    },
    "enable-aero-peek-tabs": {
      "name": "enable-aero-peek-tabs",
      "comment": "Enables AeroPeek for each tab. (This switch only works on Windows 7).",
      "condition": ""
    },
    "enable-auth-negotiate-port": {
      "name": "enable-auth-negotiate-port",
      "comment": "Enable the inclusion of non-standard ports when generating the Kerberos SPN in response to a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.",
      "condition": ""
    },
    "enable-clear-server-data": {
      "name": "enable-clear-server-data",
      "comment": "This flag enables UI for clearing server data.  Temporarily in place until there's a server endpoint deployed.",
      "condition": ""
    },
    "enable-click-to-play": {
      "name": "enable-click-to-play",
      "comment": "Enable click-to-play for blocked plug-ins.",
      "condition": ""
    },
    "enable-client-side-phishing-detection": {
      "name": "enable-client-side-phishing-detection",
      "comment": "In the browser process this switch is used to enable or disable the client-side phishing detection.  In the renderer this switch is only enabled if this switch is enabled in the browser and the user has opted in to UMA stats and SafeBrowsing is enabled in the preferences.",
      "condition": ""
    },
    "enable-client-side-phishing-interstitial": {
      "name": "enable-client-side-phishing-interstitial",
      "comment": "At this point, even if client-side phishing detection is enabled we will not, by default, display an interstitial if we detected a phishing site.  Once we are confident that the false-positive rate is as low as expected we can remove this flag.",
      "condition": ""
    },
    "enable-cloud-print": {
      "name": "enable-cloud-print",
      "comment": "Enables the Cloud Print dialog hosting code.",
      "condition": ""
    },
    "enable-cloud-print-proxy": {
      "name": "enable-cloud-print-proxy",
      "comment": "This applies only when the process type is \"service\". Enables the Cloud Print Proxy component within the service process.",
      "condition": ""
    },
    "enable-composite-to-texture": {
      "name": "enable-composite-to-texture",
      "comment": "Enables compositing to texture instead of display.",
      "condition": ""
    },
    "enable-connect-backup-jobs": {
      "name": "enable-connect-backup-jobs",
      "comment": "Enables establishing a backup TCP connection if a specified timeout is exceeded.",
      "condition": ""
    },
    "enable-crash-reporter": {
      "name": "enable-crash-reporter",
      "comment": "A flag, generated internally by Chrome for renderer and other helper process command lines on Linux and Mac.  It tells the helper process to enable crash dumping and reporting, because helpers cannot access the profile or other files needed to make this decision.",
      "condition": 5
    },
    "enable-crxless-web-apps": {
      "name": "enable-crxless-web-apps",
      "comment": "Enables web developers to create apps for Chrome without using crx packages.",
      "condition": ""
    },
    "enable-data-transfer-items": {
      "name": "enable-data-transfer-items",
      "comment": "Enables data transfer items.",
      "condition": ""
    },
    "enable-device-motion": {
      "name": "enable-device-motion",
      "comment": "Enables device motion events.",
      "condition": ""
    },
    "enable-dns-cert-provenance-checking": {
      "name": "enable-dns-cert-provenance-checking",
      "comment": "Enable DNS side checking of certificates. Still experimental, should only be used by developers at the current time.",
      "condition": ""
    },
    "enable-dnssec-certs": {
      "name": "enable-dnssec-certs",
      "comment": "",
      "condition": ""
    },
    "enable-experimental-extension-apis": {
      "name": "enable-experimental-extension-apis",
      "comment": "Enables extension APIs that are in development.",
      "condition": ""
    },
    "enable-extension-timeline-api": {
      "name": "enable-extension-timeline-api",
      "comment": "Enable experimental timeline API.",
      "condition": ""
    },
    "enable-fastback": {
      "name": "enable-fastback",
      "comment": "Enable the fastback page cache.",
      "condition": ""
    },
    "enable-file-cookies": {
      "name": "enable-file-cookies",
      "comment": "By default, cookies are not allowed on file:\/\/. They are needed for testing, for example page cycler and layout tests.  See bug 1157243.",
      "condition": ""
    },
    "enable-fullscreen": {
      "name": "enable-fullscreen",
      "comment": "Enable the JavaScript Full Screen API.",
      "condition": ""
    },
    "enable-gview": {
      "name": "enable-gview",
      "comment": "Enable the redirection of viewable document requests to the Google Document Viewer.",
      "condition": 1
    },
    "enable-history-quick-provider": {
      "name": "enable-history-quick-provider",
      "comment": "Enable the use of the HistoryQuickProvider for autocomplete results.",
      "condition": ""
    },
    "enable-in-browser-thumbnailing": {
      "name": "enable-in-browser-thumbnailing",
      "comment": "Enable the in-browser thumbnailing, which is more efficient than the in-renderer thumbnailing, as we can use more information to determine if we need to update thumbnails.",
      "condition": ""
    },
    "enable-ipv6": {
      "name": "enable-ipv6",
      "comment": "Enable IPv6 support, even if probes suggest that it may not be fully supported.  Some probes may require internet connections, and this flag will allow support independent of application testing. This flag overrides \"disable-ipv6\" which appears elswhere in this file.",
      "condition": ""
    },
    "enable-login-images": {
      "name": "enable-login-images",
      "comment": "Should we show the image based login?",
      "condition": 1
    },
    "enable-media-player": {
      "name": "enable-media-player",
      "comment": "Enables Media Player.",
      "condition": 1
    },
    "enable-memory-info": {
      "name": "enable-memory-info",
      "comment": "Allows reporting memory info (JS heap size) to page.",
      "condition": ""
    },
    "enable-multi-tab-selection": {
      "name": "enable-multi-tab-selection",
      "comment": "Enables multi-tab selection in the tabstrip.",
      "condition": ""
    },
    "enable-nacl": {
      "name": "enable-nacl",
      "comment": "Runs the Native Client inside the renderer process and enables GPU plugin (internally adds lEnableGpuPlugin to the command line).",
      "condition": ""
    },
    "enable-nacl-debug": {
      "name": "enable-nacl-debug",
      "comment": "Enables debugging via RSP over a socket.",
      "condition": ""
    },
    "enable-p2papi": {
      "name": "enable-p2papi",
      "comment": "Enable Pepper and JavaScript P2P API.",
      "condition": ""
    },
    "enable-panels": {
      "name": "enable-panels",
      "comment": "Enable panels (always on-top docked pop-up windows).",
      "condition": ""
    },
    "enable-preconnect": {
      "name": "enable-preconnect",
      "comment": "Enable speculative TCP\/IP preconnection.",
      "condition": ""
    },
    "enable-print-preview": {
      "name": "enable-print-preview",
      "comment": "Enable print preview (work in progress).",
      "condition": ""
    },
    "enable-remoting": {
      "name": "enable-remoting",
      "comment": "This applies only when the process type is \"service\". Enables the Chromoting Host Process within the service process.",
      "condition": ""
    },
    "enable-resource-content-settings": {
      "name": "enable-resource-content-settings",
      "comment": "Enable content settings based on host *and* plug-in.",
      "condition": ""
    },
    "enable-sdch": {
      "name": "enable-sdch",
      "comment": "Enable support for SDCH filtering (dictionary based expansion of content). Optional argument is *the* only domain name that will have SDCH suppport. Default is  \"-enable-sdch\" to advertise SDCH on all domains. Sample usage with argument: \"-enable-sdch=.google.com\" SDCH is currently only supported server-side for searches on google.com.",
      "condition": ""
    },
    "enable-search-provider-api-v2": {
      "name": "enable-search-provider-api-v2",
      "comment": "Enable the IsSearchProviderInstalled and InstallSearchProvider with an extra parameter to indicate if the provider should be the default.",
      "condition": ""
    },
    "enable-snap-start": {
      "name": "enable-snap-start",
      "comment": "Enables 0-RTT HTTPS handshakes.",
      "condition": ""
    },
    "enable-sync": {
      "name": "enable-sync",
      "comment": "Enable syncing browser data to a Google Account.",
      "condition": ""
    },
    "enable-sync-autofill": {
      "name": "enable-sync-autofill",
      "comment": "Enable syncing browser autofill.",
      "condition": ""
    },
    "enable-sync-passwords": {
      "name": "enable-sync-passwords",
      "comment": "Enable syncing browser passwords.",
      "condition": 6
    },
    "enable-sync-sessions": {
      "name": "enable-sync-sessions",
      "comment": "Enable syncing browser sessions.",
      "condition": ""
    },
    "enable-sync-typed-urls": {
      "name": "enable-sync-typed-urls",
      "comment": "Enable syncing browser typed urls.",
      "condition": ""
    },
    "enable-tcp-fastopen": {
      "name": "enable-tcp-fastopen",
      "comment": "Enable use of experimental TCP sockets API for sending data in the SYN packet.",
      "condition": ""
    },
    "enable-touch": {
      "name": "enable-touch",
      "comment": "Whether or not the touch events API is exposed.",
      "condition": ""
    },
    "enable-vertical-tabs": {
      "name": "enable-vertical-tabs",
      "comment": "Enables the option to show tabs as a vertical stack down the side of the browser window.",
      "condition": ""
    },
    "enable-video-fullscreen": {
      "name": "enable-video-fullscreen",
      "comment": "Enables support for fullscreen video. Current implementation is incomplete and this flag is used for development and testing.",
      "condition": ""
    },
    "enable-video-logging": {
      "name": "enable-video-logging",
      "comment": "Enables video logging where video elements log playback performance data to the debug log.",
      "condition": ""
    },
    "enable-watchdog": {
      "name": "enable-watchdog",
      "comment": "Spawn threads to watch for excessive delays in specified message loops. User should set breakpoints on Alarm() to examine problematic thread. Usage:   -enable-watchdog=[ui][io] Order of the listed sub-arguments does not matter.",
      "condition": ""
    },
    "enable-webaudio": {
      "name": "enable-webaudio",
      "comment": "Enable web audio API.",
      "condition": ""
    },
    "enable-webui-menu": {
      "name": "enable-webui-menu",
      "comment": "Enables WebUI menu.",
      "condition": 1
    },
    "enabled": {
      "name": "enabled",
      "comment": "enabled: Both prerendering and prefetching.",
      "condition": ""
    },
    "experimental-spellchecker-features": {
      "name": "experimental-spellchecker-features",
      "comment": "Enables experimental features for Spellchecker. Right now, the first experimental feature is auto spell correct, which corrects words which are misppelled by typing the word with two consecutive letters swapped. The features that will be added next are: 1 - Allow multiple spellcheckers to work simultaneously. 2 - Allow automatic detection of spell check language. TODO(sidchat): Implement the above fetaures to work under this flag.",
      "condition": ""
    },
    "explicitly-allowed-ports": {
      "name": "explicitly-allowed-ports",
      "comment": "Explicitly allow additional ports using a comma separated list of port numbers.",
      "condition": ""
    },
    "extensions-update-frequency": {
      "name": "extensions-update-frequency",
      "comment": "Frequency in seconds for Extensions auto-update.",
      "condition": ""
    },
    "feedback-server": {
      "name": "feedback-server",
      "comment": "Alternative feedback server to use when submitting user feedback",
      "condition": ""
    },
    "file-descriptor-limit": {
      "name": "file-descriptor-limit",
      "comment": "The file descriptor limit is set to the value of this switch, subject to the OS hard limits. Useful for testing that file descriptor exhaustion is handled gracefully.",
      "condition": ""
    },
    "first-run": {
      "name": "first-run",
      "comment": "Display the First Run experience when the browser is started, regardless of whether or not it's actually the first run.",
      "condition": ""
    },
    "flag-switches-begin": {
      "name": "flag-switches-begin",
      "comment": "These two flags are added around the switches about:flags adds to the command line. This is useful to see which switches were added by about:flags on about:version. They don't have any effect.",
      "condition": ""
    },
    "flag-switches-end": {
      "name": "flag-switches-end",
      "comment": "",
      "condition": ""
    },
    "focus-existing-tab-on-open": {
      "name": "focus-existing-tab-on-open",
      "comment": "If true opening a url from the omnibox attepts to focus an existing tab.",
      "condition": ""
    },
    "force-apps-promo-visible": {
      "name": "force-apps-promo-visible",
      "comment": "Forces the apps\/webstore promo to be shown, independent of whether it has timed out, etc. Useful for testing.",
      "condition": ""
    },
    "force-fieldtest": {
      "name": "force-fieldtest",
      "comment": "Some field tests may rendomized in the browser, and the randomly selected outcome needs to be propogated to the renderer.  For instance, this is used to modify histograms recorded in the renderer, or to get the renderer to also set of its state (initialize, or not initialize components) to match the experiment(s). The argument is a string-ized list of experiment names, and the associated value that was randomly selected.  In the recent implementetaion, the persistent representation generated by field_trial.cc and later decoded, is a list of name and value pairs, separated by slashes. See field trial.cc for current details.",
      "condition": ""
    },
    "force-renderer-accessibility": {
      "name": "force-renderer-accessibility",
      "comment": "Force renderer accessibility to be on instead of enabling it on demand when a screen reader is detected. The disable-renderer-accessibility switch overrides this if present.",
      "condition": ""
    },
    "force-stub-libcros": {
      "name": "force-stub-libcros",
      "comment": "Forces usage of libcros stub implementation. For testing purposes, this switch separates chrome code from the rest of ChromeOS.",
      "condition": 1
    },
    "gssapi-library-name": {
      "name": "gssapi-library-name",
      "comment": "Specifies a custom name for the GSSAPI library to load.",
      "condition": ""
    },
    "h": {
      "name": "h",
      "comment": "",
      "condition": ""
    },
    "help": {
      "name": "help",
      "comment": "These flags show the man page on Linux. They are equivalent to each other.",
      "condition": ""
    },
    "hide-icons": {
      "name": "hide-icons",
      "comment": "Make Windows happy by allowing it to show \"Enable access to this program\" checkbox in Add\/Remove Programs->Set Program Access and Defaults. This only shows an error box because the only way to hide Chrome is by uninstalling it.",
      "condition": ""
    },
    "homepage": {
      "name": "homepage",
      "comment": "The value of this switch specifies which page will be displayed in newly-opened tabs.  We need this for testing purposes so that the UI tests don't depend on what comes up for http:\/\/google.com.",
      "condition": ""
    },
    "host-resolver-parallelism": {
      "name": "host-resolver-parallelism",
      "comment": "The maximum number of concurrent host resolve requests (i.e. DNS) to allow.",
      "condition": ""
    },
    "host-resolver-rules": {
      "name": "host-resolver-rules",
      "comment": "These mappings only apply to the host resolver.",
      "condition": ""
    },
    "host-rules": {
      "name": "host-rules",
      "comment": "Comma separated list of rules that control how hostnames are mapped.  For example: \"MAP * 127.0.0.1\" --&gt; Forces all hostnames to be mapped to 127.0.0.1 \"MAP *.google.com proxy\" --&gt; Forces all google.com subdomains to be resolved to \"proxy\". \"MAP test.com [::1]:77 --&gt; Forces \"test.com\" to resolve to IPv6 loopback. Will also force the port of the resulting socket address to be 77. \"MAP * baz, EXCLUDE www.google.com\" --&gt; Remaps everything to \"baz\", except for \"www.google.com\".  These mappings apply to the endpoint host in a net::URLRequest (the TCP connect and host resolver in a direct connection, and the CONNECT in an http proxy connection, and the endpoint host in a SOCKS proxy connection).",
      "condition": ""
    },
    "ignore-certificate-errors": {
      "name": "ignore-certificate-errors",
      "comment": "Ignore certificate related errors.",
      "condition": ""
    },
    "ignore-gpu-blacklist": {
      "name": "ignore-gpu-blacklist",
      "comment": "Ignores GPU blacklist.",
      "condition": ""
    },
    "import": {
      "name": "import",
      "comment": "Perform importing from another browser. The value associated with this setting encodes the target browser and what items to import.",
      "condition": ""
    },
    "import-from-file": {
      "name": "import-from-file",
      "comment": "Perform bookmark importing from an HTML file. The value associated with this setting encodes the file path. It may be used jointly with kImport.",
      "condition": ""
    },
    "in-process-plugins": {
      "name": "in-process-plugins",
      "comment": "Runs plugins inside the renderer process",
      "condition": ""
    },
    "incognito": {
      "name": "incognito",
      "comment": "Causes the browser to launch directly in incognito mode.",
      "condition": ""
    },
    "instant-url": {
      "name": "instant-url",
      "comment": "URL to use for instant. If specified this overrides the url from the TemplateURL.",
      "condition": ""
    },
    "js-flags": {
      "name": "js-flags",
      "comment": "Specifies the flags passed to JS engine",
      "condition": ""
    },
    "keep-alive-for-test": {
      "name": "keep-alive-for-test",
      "comment": "Used for testing - keeps browser alive after last browser window closes.",
      "condition": ""
    },
    "kiosk": {
      "name": "kiosk",
      "comment": "Enable Kiosk mode.",
      "condition": 7
    },
    "lang": {
      "name": "lang",
      "comment": "Use the given language for UI in the input method candidate window.",
      "condition": 1
    },
    "load-extension": {
      "name": "load-extension",
      "comment": "Load an extension from the specified directory.",
      "condition": ""
    },
    "login-manager": {
      "name": "login-manager",
      "comment": "Enable Chrome-as-a-login-manager behavior.",
      "condition": 1
    },
    "login-password": {
      "name": "login-password",
      "comment": "Specifies a password to be used to login (along with login-user).",
      "condition": 1
    },
    "login-profile": {
      "name": "login-profile",
      "comment": "Specifies the profile to use once a chromeos user is logged in.",
      "condition": 1
    },
    "login-screen": {
      "name": "login-screen",
      "comment": "Allows to override the first login screen. The value should be the name of the first login screen to show (see chrome\/browser\/chromeos\/login\/login_wizard_view.cc for actual names). Ignored if kLoginManager is not specified. TODO(avayvod): Remove when the switch is no longer needed for testing.",
      "condition": 1
    },
    "login-screen-size": {
      "name": "login-screen-size",
      "comment": "Allows control over the initial login screen size. Pass width,height.",
      "condition": 1
    },
    "login-user": {
      "name": "login-user",
      "comment": "Specifies the user which is already logged in.",
      "condition": 1
    },
    "login-user-with-new-password": {
      "name": "login-user-with-new-password",
      "comment": "Allows to emulate situation when user logins with new password.",
      "condition": 1
    },
    "make-default-browser": {
      "name": "make-default-browser",
      "comment": "Make Chrome default browser",
      "condition": ""
    },
    "max-spdy-concurrent-streams": {
      "name": "max-spdy-concurrent-streams",
      "comment": "Set the maximum concurrent streams over a SPDY session.",
      "condition": ""
    },
    "max-spdy-sessions-per-domain": {
      "name": "max-spdy-sessions-per-domain",
      "comment": "Set the maximum SPDY sessions per domain.",
      "condition": ""
    },
    "media-cache-size": {
      "name": "media-cache-size",
      "comment": "Forces the maximum disk space to be used by the media cache, in bytes.",
      "condition": ""
    },
    "memory-profile": {
      "name": "memory-profile",
      "comment": "Enable dynamic loading of the Memory Profiler DLL, which will trace all memory allocations during the run.",
      "condition": ""
    },
    "message-loop-histogrammer": {
      "name": "message-loop-histogrammer",
      "comment": "Enable histograming of tasks served by MessageLoop. See about:histograms\/Loop for results, which show frequency of messages on each thread, including APC count, object signalling count, etc.",
      "condition": ""
    },
    "metrics-recording-only": {
      "name": "metrics-recording-only",
      "comment": "Enables the recording of metrics reports but disables reporting.  In contrast to kDisableMetrics, this executes all the code that a normal client would use for reporting, except the report is dropped rather than sent to the server. This is useful for finding issues in the metrics code during UI and performance tests.",
      "condition": ""
    },
    "min-clearsitedata-flash-version": {
      "name": "min-clearsitedata-flash-version",
      "comment": "The minimum version of Flash that implements the NPP_ClearSiteData API.",
      "condition": ""
    },
    "multi-profiles": {
      "name": "multi-profiles",
      "comment": "Enables multiprofile Chrome.",
      "condition": ""
    },
    "nacl-broker": {
      "name": "nacl-broker",
      "comment": "Causes the process to run as a NativeClient broker (used for launching NaCl loader processes on 64-bit Windows).",
      "condition": ""
    },
    "nacl-debug-ip": {
      "name": "nacl-debug-ip",
      "comment": "Sets the default IP address (interface) for the stub (normally 127.0.0.1).",
      "condition": ""
    },
    "nacl-debug-ports": {
      "name": "nacl-debug-ports",
      "comment": "Sets the default port range for debugging.",
      "condition": ""
    },
    "nacl-startup-dialog": {
      "name": "nacl-startup-dialog",
      "comment": "Causes the Native Client process to display a dialog on launch.",
      "condition": ""
    },
    "new-syncer-thread": {
      "name": "new-syncer-thread",
      "comment": "Use new experimental SyncerThread implementation and friends.",
      "condition": ""
    },
    "new-window": {
      "name": "new-window",
      "comment": "Launch URL in new browser window.",
      "condition": ""
    },
    "no-default-browser-check": {
      "name": "no-default-browser-check",
      "comment": "Disables the default browser check. Useful for UI\/browser tests where we want to avoid having the default browser info-bar displayed.",
      "condition": ""
    },
    "no-events": {
      "name": "no-events",
      "comment": "Don't record\/playback events when using record & playback.",
      "condition": ""
    },
    "no-experiments": {
      "name": "no-experiments",
      "comment": "Bypass the First Run experience when the browser is started, regardless of Disables all experiments set on about:flags. Does not disable about:flags itself. Useful if an experiment makes chrome crash at startup: One can start chrome with --no-experiments, disable the problematic lab at about:flags and then restart chrome without this switch again.",
      "condition": ""
    },
    "no-first-run": {
      "name": "no-first-run",
      "comment": "whether or not it's actually the first run. Overrides kFirstRun in case you're for some reason tempted to pass them both.",
      "condition": ""
    },
    "no-js-randomness": {
      "name": "no-js-randomness",
      "comment": "Support a separate switch that enables the v8 playback extension. The extension causes javascript calls to Date.now() and Math.random() to return consistent values, such that subsequent loads of the same page will result in consistent js-generated data and XHR requests. Pages may still be able to generate inconsistent data from plugins.",
      "condition": ""
    },
    "no-pings": {
      "name": "no-pings",
      "comment": "Don't send hyperlink auditing pings",
      "condition": ""
    },
    "no-process-singleton-dialog": {
      "name": "no-process-singleton-dialog",
      "comment": "Bypass the error dialog when the profile lock couldn't be attained. This switch is used during automated testing.",
      "condition": 5
    },
    "no-proxy-server": {
      "name": "no-proxy-server",
      "comment": "Don't use a proxy server, always make direct connections. Overrides any other proxy server flags that are passed.",
      "condition": ""
    },
    "no-service-autorun": {
      "name": "no-service-autorun",
      "comment": "Disables the service process from adding itself as an autorun process. This does not delete existing autorun registrations, it just prevents the service from registering a new one.",
      "condition": ""
    },
    "no-startup-window": {
      "name": "no-startup-window",
      "comment": "Does not automatically open a browser window on startup (used when launching Chrome for the purpose of hosting background apps).",
      "condition": ""
    },
    "notify-cp-token-expired": {
      "name": "notify-cp-token-expired",
      "comment": "Show a desktop notification that the cloud print token has expired and that user needs to re-authenticate.",
      "condition": ""
    },
    "num-pac-threads": {
      "name": "num-pac-threads",
      "comment": "Specifies the maximum number of threads to use for running the Proxy Autoconfig (PAC) script.",
      "condition": ""
    },
    "organic": {
      "name": "organic",
      "comment": "Simulate an organic Chrome install.",
      "condition": ""
    },
    "pack-extension": {
      "name": "pack-extension",
      "comment": "Package an extension to a .crx installable file from a given directory.",
      "condition": ""
    },
    "pack-extension-key": {
      "name": "pack-extension-key",
      "comment": "Optional PEM private key is to use in signing packaged .crx.",
      "condition": ""
    },
    "parallel-auth": {
      "name": "parallel-auth",
      "comment": "Attempts to perform Chrome OS offline and online login in parallel.",
      "condition": 1
    },
    "parent-profile": {
      "name": "parent-profile",
      "comment": "Specifies the path to the user data folder for the parent profile.",
      "condition": ""
    },
    "password-store": {
      "name": "password-store",
      "comment": "Specifies which password store to use (detect, default, gnome, kwallet).",
      "condition": 8
    },
    "playback-mode": {
      "name": "playback-mode",
      "comment": "Read previously recorded data from the cache. Only cached data is read. See kRecordMode.",
      "condition": ""
    },
    "prefetch_only": {
      "name": "prefetch_only",
      "comment": "prefetch_only: No prerendering, but enable prefetching.",
      "condition": ""
    },
    "prerender": {
      "name": "prerender",
      "comment": "Controls speculative prerendering of pages, and content prefetching.  Both are dispatched from &lt;link rel=prefetch href=...&gt; elements.",
      "condition": ""
    },
    "print": {
      "name": "print",
      "comment": "Prints the pages on the screen.",
      "condition": ""
    },
    "product-version": {
      "name": "product-version",
      "comment": "Output the product version information and quit. Used as an internal api to detect the installed version of Chrome on Linux.",
      "condition": ""
    },
    "profiling-at-start": {
      "name": "profiling-at-start",
      "comment": "Starts the sampling based profiler for the browser process at startup. This will only work if chrome has been built with the gyp variable profiling=1. The output will go to the value of kProfilingFile.",
      "condition": ""
    },
    "profiling-file": {
      "name": "profiling-file",
      "comment": "Specifies a location for profiling output. This will only work if chrome has been built with the gyp variable profiling=1. {pid} if present will be replaced by the pid of the process. {count} if present will be incremented each time a profile is generated for this process. The default is chrome-profile-{pid}.",
      "condition": ""
    },
    "profiling-flush": {
      "name": "profiling-flush",
      "comment": "Controls whether profile data is periodically flushed to a file. Normally the data gets written on exit but cases exist where chrome doesn't exit cleanly (especially when using single-process). A time in seconds can be specified.",
      "condition": ""
    },
    "proxy-auto-detect": {
      "name": "proxy-auto-detect",
      "comment": "Force proxy auto-detection.",
      "condition": ""
    },
    "proxy-bypass-list": {
      "name": "proxy-bypass-list",
      "comment": "Specify a list of hosts for whom we bypass proxy settings and use direct connections. Ignored if --proxy-auto-detect or --no-proxy-server are also specified. This is a comma separated list of bypass rules. See: \"net\/proxy\/proxy_bypass_rules.h\" for the format of these rules.",
      "condition": ""
    },
    "proxy-pac-url": {
      "name": "proxy-pac-url",
      "comment": "Use the pac script at the given URL",
      "condition": ""
    },
    "proxy-server": {
      "name": "proxy-server",
      "comment": "Use a specified proxy server, overrides system settings. This switch only affects HTTP and HTTPS requests.",
      "condition": ""
    },
    "purge-memory-button": {
      "name": "purge-memory-button",
      "comment": "Adds a \"Purge memory\" button to the Task Manager, which tries to dump as much memory as possible.  This is mostly useful for testing how well the MemoryPurger functionality works.  NOTE: This is only implemented for Views.",
      "condition": ""
    },
    "record-mode": {
      "name": "record-mode",
      "comment": "Chrome supports a playback and record mode.  Record mode saves *everything* to the cache.  Playback mode reads data exclusively from the cache.  This allows us to record a session into the cache and then replay it at will. See also kPlaybackMode.",
      "condition": ""
    },
    "reload-killed-tabs": {
      "name": "reload-killed-tabs",
      "comment": "Reload pages that have been killed when they are next focused by the user.",
      "condition": ""
    },
    "remote-debugging-port": {
      "name": "remote-debugging-port",
      "comment": "Enable remote debug over HTTP on the specified port.",
      "condition": ""
    },
    "remote-shell-port": {
      "name": "remote-shell-port",
      "comment": "Enable remote debug \/ automation shell on the specified port.",
      "condition": ""
    },
    "renderer-assert-test": {
      "name": "renderer-assert-test",
      "comment": "Causes the renderer process to throw an assertion on launch.",
      "condition": ""
    },
    "renderer-check-false-test": {
      "name": "renderer-check-false-test",
      "comment": "Causes the renderer process to throw an assertion on launch.",
      "condition": 9
    },
    "restore-last-session": {
      "name": "restore-last-session",
      "comment": "Indicates the last session should be restored on startup. This overrides the preferences value and is primarily intended for testing. The value of this switch is the number of tabs to wait until loaded before 'load completed' is sent to the ui_test.",
      "condition": ""
    },
    "safebrowsing-disable-auto-update": {
      "name": "safebrowsing-disable-auto-update",
      "comment": "If present, safebrowsing only performs update when SafeBrowsingProtocolManager::ForceScheduleNextUpdate() is explicitly called. This is used for testing only.",
      "condition": ""
    },
    "safebrowsing-disable-download-protection": {
      "name": "safebrowsing-disable-download-protection",
      "comment": "TODO(lzheng): Remove this flag once the feature works fine (http:\/\/crbug.com\/74848). This flag disables safebrowsing feature that checks download url and download content's hash to make sure the content are not malicious.",
      "condition": ""
    },
    "safebrowsing-download-warning-ui": {
      "name": "safebrowsing-download-warning-ui",
      "comment": "When this flag is absent, we won't show the warning ui. The purpose of this flag is to make sure we roll out download url detection smoothly. We will remove this flag once we verify that the download url detection works as expectecd according to UMA reports.",
      "condition": ""
    },
    "safebrowsing-info-url-prefix": {
      "name": "safebrowsing-info-url-prefix",
      "comment": "URL prefix used by safebrowsing to fetch hash, download data and report malware.",
      "condition": ""
    },
    "safebrowsing-mackey-url-prefix": {
      "name": "safebrowsing-mackey-url-prefix",
      "comment": "URL prefix used by safebrowsing to get MAC key.",
      "condition": ""
    },
    "screen-saver-url": {
      "name": "screen-saver-url",
      "comment": "URL of the html page for Screen Saver.",
      "condition": 1
    },
    "scroll-pixels": {
      "name": "scroll-pixels",
      "comment": "Specify the amount the trackpad should scroll by.",
      "condition": 10
    },
    "search-in-omnibox-hint": {
      "name": "search-in-omnibox-hint",
      "comment": "Enables the showing of an info-bar instructing user they can search directly from the omnibox.",
      "condition": ""
    },
    "service-account-lsid": {
      "name": "service-account-lsid",
      "comment": "The LSID of the account to use for the service process.",
      "condition": ""
    },
    "set-token": {
      "name": "set-token",
      "comment": "Sets a token in the token service, for testing.",
      "condition": 2
    },
    "show-composited-layer-borders": {
      "name": "show-composited-layer-borders",
      "comment": "Renders a border around composited Render Layers to help debug and study layer compositing.",
      "condition": ""
    },
    "show-composited-layer-tree": {
      "name": "show-composited-layer-tree",
      "comment": "Draws a textual dump of the compositor layer tree to help debug and study layer compositing.",
      "condition": ""
    },
    "show-fps-counter": {
      "name": "show-fps-counter",
      "comment": "Draws a FPS indicator",
      "condition": ""
    },
    "show-icons": {
      "name": "show-icons",
      "comment": "See kHideIcons.",
      "condition": ""
    },
    "show-paint-rects": {
      "name": "show-paint-rects",
      "comment": "Visibly render a border around paint rects in the web page to help debug and study painting behavior.",
      "condition": ""
    },
    "silent-dump-on-dcheck": {
      "name": "silent-dump-on-dcheck",
      "comment": "Change the DCHECKS to dump memory and continue instead of displaying error dialog. This is valid only in Release mode when --enable-dcheck is specified.",
      "condition": ""
    },
    "simple-data-source": {
      "name": "simple-data-source",
      "comment": "Replaces the buffered data source for &lt;audio&gt; and &lt;video&gt; with a simplified resource loader that downloads the entire resource into memory.  TODO(scherkus): remove --simple-data-source when our media resource loading is cleaned up and playback testing completed.",
      "condition": ""
    },
    "start-maximized": {
      "name": "start-maximized",
      "comment": "Start the browser maximized, regardless of any previous settings.",
      "condition": ""
    },
    "stub-cros": {
      "name": "stub-cros",
      "comment": "Indicates that stub implementations of the libcros library should be used. This is typically used to test the chromeos build of chrome on the desktop.",
      "condition": 1
    },
    "sync-allow-insecure-xmpp-connection": {
      "name": "sync-allow-insecure-xmpp-connection",
      "comment": "Allow insecure XMPP connections for sync (for testing).",
      "condition": ""
    },
    "sync-invalidate-xmpp-login": {
      "name": "sync-invalidate-xmpp-login",
      "comment": "Invalidate any login info passed into sync's XMPP connection.",
      "condition": ""
    },
    "sync-notification-host": {
      "name": "sync-notification-host",
      "comment": "Override the default host used for sync notifications.  Can be either \"host\" or \"host:port\".",
      "condition": ""
    },
    "sync-notification-method": {
      "name": "sync-notification-method",
      "comment": "Override the default notification method for sync.",
      "condition": ""
    },
    "sync-try-ssltcp-first-for-xmpp": {
      "name": "sync-try-ssltcp-first-for-xmpp",
      "comment": "Try to connect to XMPP using SSLTCP first (for testing).",
      "condition": ""
    },
    "sync-url": {
      "name": "sync-url",
      "comment": "Override the default server used for profile sync.",
      "condition": ""
    },
    "syncer-thread-timed-stop": {
      "name": "syncer-thread-timed-stop",
      "comment": "Use the SyncerThread implementation that matches up with the old pthread impl semantics, but using Chrome synchronization primitives.  The only difference between this and the default is that we now have no timeout on Stop().  Should only use if you experience problems with the default.",
      "condition": ""
    },
    "test-load-libcros": {
      "name": "test-load-libcros",
      "comment": "Attempts to load libcros and validate it, then exits. A nonzero return code means the library could not be loaded correctly.",
      "condition": 1
    },
    "test-nacl-sandbox": {
      "name": "test-nacl-sandbox",
      "comment": "Runs the security test for the NaCl loader sandbox.",
      "condition": ""
    },
    "test-name": {
      "name": "test-name",
      "comment": "Pass the name of the current running automated test to Chrome.",
      "condition": ""
    },
    "test-type": {
      "name": "test-type",
      "comment": "Pass the type of the current test harness (\"browser\" or \"ui\")",
      "condition": ""
    },
    "testing-channel": {
      "name": "testing-channel",
      "comment": "The value of this switch tells the app to listen for and broadcast testing-related messages on IPC channel with the given ID.",
      "condition": ""
    },
    "touch-devices": {
      "name": "touch-devices",
      "comment": "Tells chrome to interpret events from these devices as touch events. Only available with XInput 2 (i.e. X server 1.8 or above). The id's of the devices can be retrieved from 'xinput list'.",
      "condition": 11
    },
    "trusted-plugins": {
      "name": "trusted-plugins",
      "comment": "Excludes these plugins from the plugin sandbox. This is a comma-separated list of plugin library names.",
      "condition": ""
    },
    "try-chrome-again": {
      "name": "try-chrome-again",
      "comment": "Experimental. Shows a dialog asking the user to try chrome. This flag is to be used only by the upgrade process.",
      "condition": ""
    },
    "uninstall": {
      "name": "uninstall",
      "comment": "Runs un-installation steps that were done by chrome first-run.",
      "condition": ""
    },
    "uninstall-extension": {
      "name": "uninstall-extension",
      "comment": "Uninstall an extension with the specified extension id.",
      "condition": ""
    },
    "use-spdy": {
      "name": "use-spdy",
      "comment": "Use Spdy for the transport protocol instead of HTTP. This is a temporary testing flag.",
      "condition": ""
    },
    "use-system-ssl": {
      "name": "use-system-ssl",
      "comment": "Use the system SSL library (Secure Transport on Mac, SChannel on Windows) instead of NSS for SSL.",
      "condition": 12
    },
    "user-data-dir": {
      "name": "user-data-dir",
      "comment": "Specifies the user data directory, which is where the browser will look for all of its state.",
      "condition": ""
    },
    "user-scripts-dir": {
      "name": "user-scripts-dir",
      "comment": "directory to locate user scripts in as an over-ride of the default",
      "condition": ""
    },
    "utility-cmd-prefix": {
      "name": "utility-cmd-prefix",
      "comment": "On POSIX only: the contents of this flag are prepended to the utility process command line. Useful values might be \"valgrind\" or \"xterm -e gdb --args\".",
      "condition": ""
    },
    "version": {
      "name": "version",
      "comment": "Print version information and quit.",
      "condition": ""
    },
    "websocket-live-experiment-host": {
      "name": "websocket-live-experiment-host",
      "comment": "Debug only switch to specify which websocket live experiment host to be used. If host is specified, it also makes initial delay shorter (5 min to 5 sec) to make it faster to test websocket live experiment code.",
      "condition": 2
    },
    "winhttp-proxy-resolver": {
      "name": "winhttp-proxy-resolver",
      "comment": "Use WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is to use Chromium's network stack to fetch, and V8 to evaluate.",
      "condition": ""
    }
  },
  "conditions": {
    "1": "The constant \"OS_CHROMEOS\" must be defined.",
    "2": "The constant \"NDEBUG\" must not be defined.",
    "3": "The constant \"TOOLKIT_VIEWS\" must be defined.",
    "4": "The constant \"OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS\" must not be defined.",
    "5": "The constant \"OS_POSIX\" must be defined.",
    "6": "The constant \"OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_CHROMEOS\" must be defined.",
    "7": "The constant \"OS_MACOSX\" must not be defined.",
    "8": "The constant \"OS_MACOSX) && !defined(OS_CHROMEOS\" must not be defined.",
    "9": "The constant \"OFFICIAL_BUILD\" must not be defined.",
    "10": "The constant \"OS_LINUX\" must be defined.",
    "11": "The constant \"HAVE_XINPUT2\" must be defined.",
    "12": "One of these constants must be defined: \"OS_MACOSX\", \"OS_WIN\"."
  }
};
